﻿#ifndef SYSVAR_H
#define SYSVAR_H

//char g_szVersion[] = { "Version:2023.09.08.01" };
//char g_szVersion[] = { "Version:2023.10.08.01" };
//char g_szVersion[] = { "Version:2023.10.28.01" };
//char g_szVersion[] = { "Version:2023.11.01.01" };
//char g_szVersion[] = { "Version:2023.11.06.01" };
//char g_szVersion[] = { "Version:2023.11.07.01" }; //多节目，两种控制卡(换行/不换行)发送。
//char g_szVersion[] = { "Version:2023.11.08.01" }; //添加了查询的CmsCode错误处理
//char g_szVersion[] = { "Version:2023.11.08.05" }; //json不区分大小写
//char g_szVersion[] = { "Version:2023.11.09.05" }; //[list]后面少写一个+号, 处理了多屏发送引起的bug，playlist重复
//char g_szVersion[] = { "Version:2023.11.10.08" }; //增加串口发送，调整excel表, 查询时，延时5000ms
//char g_szVersion[] = { "Version:2023.11.11.01" }; //加上解析失败日志
//char g_szVersion[] = { "Version:2023.11.11.03" }; //查询延时可配置， [System] QueryDelayTimes = 5000
//char g_szVersion[] = { "Version:2023.11.11.08" }; //
//char g_szVersion[] = { "Version:2023.11.12.06" }; //添加未找到包头接口类型失败日志, 接收包体保证最后一位是}
//char g_szVersion[] = { "Version:2023.11.12.07" }; //日志显示接收内容信息,处理接收部分
//char g_szVersion[] = { "Version:2023.11.12.08" }; //处理接收包体部分
//char g_szVersion[] = { "Version:2023.11.12.09" }; //处理接收包体部分
//char g_szVersion[] = { "Version:2023.11.12.10" }; //包头多重校验
char g_szVersion[] = { "Version:2023.11.13.01" }; //支持多包同时发送

HANDLE g_hMutex = NULL;

tagSysConfig     g_SysConfig;

BOOL             g_bRun; //自动运行

CStringW         g_strModulePathW;

HWND             g_hMainWnd = NULL;
HWND             g_hListInfoWnd = NULL;

char  g_szMutexName[MAX_PATH];

CRITICAL_SECTION g_csInfo;  //缓冲临界区
tagTip_InfoList  g_Tip_InfoList;

CLogFile         g_LogFile;

CTcpServer       g_TcpServer;
CUdpSocket       g_UdpSocket;
CSerialPort*     g_pSerialPort; //串口

//align		数值		对齐方式 1401：居左 1402：居中 1403：居右
//transition		数值		播放方式 1301：立即显示 1302：上移 1303：下移 1304：左移 1305：右移 1306：滚屏显示
//font		数值		字体 1701：宋体 1702：黑体
//fontSize		数值		字体大小 1601：16 1602：32 1603：48 1604：64 1605:72
//fontColor		数值		字体颜色1501：绿色1502：红色1503：黄色 1504：蓝色1505：白色

//std::map<int, int> g_transition = { {},  };
std::map<int, int>      g_mapAlign = { { 1401, 1 },{ 1402, 2 },{ 1403, 3 } };
std::map<int, string>   g_mapFontType = { {1701, "宋体"},{ 1702, "黑体" } };
std::map<int, int>      g_mapFontSize = { { 1601, 16 }, { 1602, 32 },{ 1603, 48 },{ 1604, 64 },{ 1605, 72 } };
std::map<int, COLORREF> g_mapFontColor = { { 1501, RGB(0, 255, 0) },{ 1502, RGB(255, 0, 0) },{ 1503, RGB(255, 255, 0) },{ 1504, RGB(0, 0, 255) },{ 1505, RGB(255, 255, 255) } };

list<tagLed_Rule> g_list_Led_Rule;

#endif